#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
//
//int main()
//{
//	int arr[][3] = { 1,2,3,2,3,4 };
//	int (*p)[3] = arr;
//	**p;
//	*(*p + 1);
//}
#include <math.h>

//int main()
//{
//	int a = 3;
//	int b = 5;
//	float x = 7.5;
//	float y = 7.5;
//	float z = 1e-6;
//	printf("%-5d%-5d%-5d", 1, 2, 3);
//}



//int main()
//{
//	int arr[4][4] = { 0 };
//	for (int i = 0; i < 4; ++i)
//	{
//		arr[i][i] = 1;
//		arr[i][0] = 1;
//	}
//	for (int i = 2; i < 4; ++i)
//	{
//		for (int j = 1; j < i; ++j)
//		{
//			arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
//		}
//	}
//	for (int i = 0; i < 4; ++i)
//	{
//		for (int j = 3 - i; j >= 0; --j)
//		{
//			printf(" ");
//		}
//		for (int j = 0; j <= i; ++j)
//		{
//			printf("%2d", arr[i][j]);
//		}
//		printf("\n");
//	}
//	return 0;
//}

//int main()
//{
//	for (int i = 10; i < 100; ++i)
//	{
//		if (i % 2 == 0 && i % 3 == 0 && i % 7 == 0)
//		{
//			printf("%d ", i);
//		}
//	}
//}


//int main()
//{
//	int arr[2][3] = { 1,2,3,4,5,6 };
//	for (int i = 0; i < 3; ++i)
//	{
//		for (int j = 0; j < 2; ++j)
//		{
//			printf("%d ", arr[j][i]);
//		}
//		printf("\n");
//	}
//}

#include <malloc.h>
//int main()
//{
//	int mat[][3] = { 0,0,0,0,1,0,1,1,1 };
//	int matSize = sizeof(mat) / sizeof(mat[0]);
//	int matColSize = sizeof(mat[0]) / sizeof(mat[0][0]);
//	int arr[10][10] = { 0 };
//	int angle = 0;
//	while (angle < 4)
//	{
//		for (int i = 0, x = 0; i < matColSize; ++i, ++x)
//		{
//			for (int j = matColSize - 1, y = 0; j >= 0; --j, ++y)
//			{
//				arr[x][y] = mat[j][i];
//			}
//		}
//
//		++angle;
//	}
//}					  \


//void reverse(char* s)
//{
//    int len = strlen(s) - 1;
//    char tmp = *s;
//    *s = *(s + len);
//    *(s + len) = 0;
//    if (*(s + 1) != 0)
//    {
//        reverse(s + 1);
//    }
//    *(s + len) = tmp;
//}
//int main()
//{
//    char num1[] = "99";
//    char num2[] = "9";
//    char* p1 = num1;
//    char* p2 = num2;
//    reverse(num1);
//    reverse(num2);
//    int len = strlen(num1) > strlen(num2) ? strlen(num2) : strlen(num1);
//    static char ans[10] = {0};
//    int i = 0;
//    for (; i < len; ++i)
//    {
//        int sum = (num1[i] - '0') + (num2[i] - '0');
//        if (sum > 9)
//        {
//            ans[i + 1] = sum / 10 + '0';
//            sum %= 10;
//        }
//        ans[i] += sum + '0';
//    }
//    if (i < strlen(num1))
//    {
//        while (num1[i])
//        {
//            int sum = (num1[i] - '0') + (ans[i] - '0');
//            if (sum > 9)
//            {
//                ans[i + 1] = sum / 10 + '0';
//                sum %= 10;
//            }
//            ans[i] = sum + '0';
//            ++i;
//        }
//    }
//    if (i < strlen(num2))
//    {
//        while (num2[i])
//        {
//            ans[i] += num2[i] - '0';
//            ++i;
//        }
//    }
//    reverse(ans);
//}



#include <ctype.h>
//int main()
//{
//	char s[] = "a1c1e1";
//	for (int i = 1; i < strlen(s); i += 2)
//	{
//		if (isdigit(s[i]))
//		{
//			s[i] = s[i - 1] + s[i] - '0';
//		}
//	}
//	return 0;
//}

bool checkAlmostEquivalent(char* word1, char* word2) {
    int arr[26] = { 0 };
    for (int i = 0; i < strlen(word1); ++i)
    {
        ++arr[word1[i] - 'a'];
        --arr[word2[i] - 'a'];
    }
    for (int i = 0; i < 26; ++i)
    {
        if (abs(arr[i]) > 3)
        {
            return 0;
        }
    }
    return 1;
}